#ifndef COMMON_H
#define COMMON_H

#include <cassert>

#include <iostream>
using std::cout;

enum FRESULT
{
    OK = 0,
    FERROR,
};

#include <string>
using std::string;
#include <vector>
using std::vector;
#include <list>
using std::list;
#include <map>
using std::map;

#define CHECK_OK( a )  if ( a != OK ) assert( 0 );
#define VERIFY_OK( a )  if ( a != OK ) return FERROR;

template <bool> class static_assert;
template<> class static_assert<true> {};

#pragma warning (disable: 4311)
#pragma warning (disable: 4312)

#pragma warning (disable: 4996)
#pragma warning (disable: 4251)

#define GUI_DLL_EXPORT			__declspec( dllimport )
#define MAP_OBJECTS_DLL_EXPORT __declspec( dllimport )
#define SEARCH_DLL_EXPORT     __declspec( dllimport )
#define PATH_FINDER_DLL_EXPORT __declspec( dllimport )

#endif // common.h